import request from "@/utils/request";

// 管理员
const CARETAKERS_BASE_URL = '/auth/admin';
// 角色组
const ROLE_BASE_URL = '/auth/group'
// 菜单规则
const MENU_BASE_URL = '/auth/rule'

const PermissionsAPI = {
    /**
     * 获取管理员列表
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    getPermissionsList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${CARETAKERS_BASE_URL}/admin_list`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 新增管理员
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    addPermissionsList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${CARETAKERS_BASE_URL}/add_admin`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 修改管理员
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    revisePermissionsList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${CARETAKERS_BASE_URL}/edit_admin`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 删除管理员
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    deletePermissionsList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${CARETAKERS_BASE_URL}/del_admin`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 角色组
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    getRoleList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${ROLE_BASE_URL}/group_list`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 角色组
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    getRoleLists(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${ROLE_BASE_URL}/group_lists`,
            method: "get",
            params: queryParams,
        });
    },
    /**
     * 添加角色组
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    addRoleList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${ROLE_BASE_URL}/add_group`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 修改角色组
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    reviseRoleList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${ROLE_BASE_URL}/edit_group`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 删除角色组
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    deleteRoleList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${ROLE_BASE_URL}/del_group`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 权限
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    permissionsRoleList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${ROLE_BASE_URL}/role_tree`,
            method: "post",
            data: queryParams,
        });
    },
    /**
     * 权限
     *
     * @param queryParams 查询参数
     * @returns 分页结果
     */
    getMenuList(queryParams: EmployeePageQuery) {
        return request<any>({
            url: `${MENU_BASE_URL}/rule_list`,
            method: "get",
            params: queryParams,
        });
    },
}

export default PermissionsAPI


/**
 * 设备列表查询参数
 */
export interface EmployeePageQuery {
    /**
     * 每页有几条数据
     */
    limit?: string;

    /**
     * 第几页
     */
    page?: number;
}
